package com.dragon.modules.yuegou.mapper.wallet;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dragon.modules.yuegou.entity.wallet.MemberCardEntity;
import com.dragon.modules.yuegou.model.wallet.MemberCard;
import com.dragon.modules.yuegou.query.wallet.CardGetQuery;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 会员悦卡（简称悦卡） Mapper接口
 *
 * @author pbuilder generated
 * @date 2019-03-05 11:27:23
 * @version 2.0
 */
@Component("waltMemberCardMapper")
public interface MemberCardMapper extends BaseMapper<MemberCardEntity> {

    /**
     * 历史悦卡列表
     * @param memberId
     * @return
     */
	IPage<MemberCard> history(IPage page,@Param("memberId") String memberId);

    /**
     * 查询商铺可用悦卡列表
     * @param memberId
     * @param merchantId
     * @return
     */
    List<MemberCard> getCardList(@Param("memberId") String memberId, @Param("merchantId") String merchantId,@Param("scenarioType") Integer scenarioType);


    /**
     * 可赠送悦卡
     * @param page
     * @param memberId
     * @return
     */
    IPage<MemberCard> sendList(IPage page, @Param("memberId") String memberId);

    /**
     * 获取会员获得悦卡记录
     * */
	IPage<MemberCard> searchGetRecord(IPage<MemberCard> page,@Param("query") CardGetQuery query);
	
	/**
     * 获取会员获得悦卡记录列表
     * */
	List<MemberCard> searchGetRecordEx(@Param("query") CardGetQuery query);

    Integer searchCardType(@Param("memberCardId") String memberCardId);
}
